package com.rica.controller;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.rica.model.Vendedor;
import com.rica.service.VendedorService;

@Controller
public class VendedorController {
	@Autowired
	private VendedorService vendedorService;
	
	@RequestMapping("/indexv")
	public String setupForm(Map<String, Object> map){
		Vendedor vendedor = new Vendedor();
		map.put("vendedor", vendedor);
		map.put("vendedorList",vendedorService.getAllVendedor());
		return "vendedor";
	}
	
	@RequestMapping(value = "/vendedor.do", method = RequestMethod.POST)
	public String doActions(@ModelAttribute Vendedor vendedor,
			BindingResult result, @RequestParam String action,
			Map<String, Object> map){
		Vendedor vendedorResult = new Vendedor();
		switch(action.toLowerCase()){
		case "add":
			vendedorService.add(vendedor);
			vendedorResult = vendedor;
			break;
		case "edit":
			vendedorService.edit(vendedor);
			vendedorResult = vendedor;
			break;
		case "delete":
			vendedorService.delete(vendedor.getVendedor_id());
			vendedorResult = vendedor;
			break;
		case "search":
			Vendedor searchVendedor = vendedorService.getVendedor(vendedor.getVendedor_id());
			vendedorResult = searchVendedor != null ? searchVendedor : new Vendedor();
			break;
		}
		map.put("vendedor", vendedorResult);
		map.put("vendedorList", vendedorService.getAllVendedor());
		return "vendedor";
	}
}


















